package com.jluzh10.learning.service;


import com.jluzh10.learning.domain.Course;
import com.jluzh10.learning.domain.User;

import java.util.List;

/**
 * @author yzg
 * @create 2019/5/20
 */
public interface UserService {

    /**
     * 查询所有的用户
     * @return
     * @throws Exception
     */
    List<User> findAll() throws Exception;

    /**
     * 添加一个用户
     * @param user 用户
     * @return
     * @throws Exception
     */
    int addUser(User user) throws Exception;

    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return
     */
    List<User> findByUsername(String username) throws Exception;

    /**
     * 根据手机号查询用户
     * @param mobile 手机号
     * @return
     * @throws Exception
     */
    List<User> findByMobile(String mobile) throws Exception;

    /**
     * 校验密码
     * @param password
     * @return
     */
    boolean checkPassword(String password,String encodePassword);

    /**
     * 更新用户信息
     * @return
     */
    int update(User user);

    /**
     *  收藏获取取消收藏课程
     * @return
     */
    void collectCourse(Integer userId, Integer courseId,boolean isCollect);

    /**
     * 查询用户学习的课程
     * @param userId 用户id
     * @param orderBy 排序条件
     * @return
     */
    List<Course> findByStudy(int userId,String orderBy);
}
